package uk.ac.manchester.tewpl.iceiface.client;

public class Functors {
	
	// Void callback functor
	public interface VoidCallback {
		public void work();
	};
	
	// Typed callback functor
	public interface TypedCallback<T>{
		public T work();
	}
	
	// Parameterized void callback functor
	public interface ParamVoidCallback<T> {
		public void work(T param);
	};
	
	// Parameterized callback functor
	public interface ParamCallback<T, V> {
		public T work(V param);
	};
	
	// Iterative loader functor
	public interface IterativeLoader<T, C> {
		public void load(T obj, C callback);
	}

}
